Traditional web servers depend on sequential access to HTML (HyperText Markup Language) pages by loading hyperlinked pages as the client requests them while navigating through the current page. Each client initiated hit involves a random access to the memory, even if multiple clients access the same page. Thus, overall latency is high even when there is an overlap in the access. Latency refers to the amount of time it takes a web server to respond to a client beginning from the time the request was sent by the client to the server. To reduce latency in the network, some proposals have been made to have local machines, mostly proxy servers, to prefetch the pages linked to the current page before the client actually “hits” them. However, since all web pages may not be requested by the client, storage is wasted. Furthermore, bandwidth is also wasted. If a user is on a public area network, the user will pay for the time of access or number of bytes transferred every time he/she uses the bandwidth. Consequently, if the network is busy, aggressive prefetching can be expensive.
File servers, on the other hand, typically utilize a hierarchical storage manager (HSM) in managing access of data stored on disk and tape. An application program in an HSM configuration examines memory usage in the hard drive. Instead of putting all files, or data, on the hard drive, the program will keep a subset of the files on the hard drive and the rest on the tape. By ensuring that the most currently or frequently used files are on the hard drive, most accesses are satisfied by accesses to the hard drive, i.e., hits.
If the file required is not on the hard drive, i.e., a miss, a memory request is sent to the tape. Since the tape is slower than the disk, the time to retrieve the file is higher. Since the access is usually to the disk, this penalty is only apparent on a small percentage of the accesses. Thus, the main motivation for using HSM is cost. Tape is significantly cheaper and denser than a hard drive. However, in some file requests, latency will suffer.
Thus, there exists a need for a method and system for efficiently storing scaleable amounts of data at a web server that can be quickly accessed by a client without compromising bandwidth.